package com.wicket.okrapp.integration.dto;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc QuerySuperiorsFinanceAccountDetailComReqDto
 * @使用场景
 */
@Data
public class QuerySuperiorsFinanceAccountDetailComReqDto
  extends BaseDto
  implements Serializable {

  /**
   * 是否预算账户 TRUE:是 FALSE:否
   */
  @NotNull(message = "是否预算账户不能为空")
  @ApiModelProperty("是否预算账户")
  private String isBudgetAccount;

  /**
   * 是否统计账户 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否统计账户")
  private String isStatisticalAccount;

  /**
   * 账户关联主体类型 CONTENT_TYPE:内容分类 ORGANIZATIONAL_STRUCTURE_TYPE:组织架构分类
   */
  @NotNull(message = "账户关联主体类型不能为空")
  @ApiModelProperty("账户关联主体类型")
  private String accountObjectClass;

  /**
   * 关联归属主体ID
   */
  @NotNull(message = "关联归属主体ID不能为空")
  @ApiModelProperty("关联归属主体ID")
  private String accountObjectId;

  /**
   * 冗余评价模板ID
   */
  @NotNull(message = "冗余评价模板ID不能为空")
  @ApiModelProperty("冗余评价模板ID")
  private String evaluationTemplateId;

  /**
   * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
   */
  @NotNull(message = "主体生命周期不能为空")
  @ApiModelProperty("主体生命周期")
  private String subjectLifeCycle;

  /**
   * 创建于空间ID
   */
  @NotNull(message = "创建于空间ID不能为空")
  @ApiModelProperty("创建于空间ID")
  private String spaceId;

}
